Analyzing the performance of a video game is traditionally carried out by collecting data when the game is in operation, halting the game, and then analyzing the collected data offline. As can be appreciated, this procedure is often a hit-or-miss affair because the captured data may or may not contain information pertaining to an intermittently-occurring problem or to a problem of a subtle nature.
Furthermore, the offline analysis process generally involves a collective effort from a team of software developers each having an individual area of expertise. For example, in such a team, a first developer may be an expert on system libraries, a second on databases, and a third on the correct sequence of coding events that need to occur for successful operation of a particular video game. This type of team composition is necessary because traditional analysis and debugging tools often generate cues (such as esoteric and cryptic warning/failure messages) that only an expert can understand. Consequently, this environment does not readily accommodate debugging efforts being carried out by a one-person team when this person has a generalized knowledge of gaming and/or software, or even when this person is an expert in just one particular area of gaming and/or software.